home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Snippets / Stuart's Tech Notes / Header Files / LAPEqu.h next >
Text File  |  1994-10-21  |  4KB  |  110 lines

  1. //    File:        LAPEqu.h
  2. //
  3. //    Copyright:    © 1983-1993 by Apple Computer, Inc.
  4. //                All rights reserved.
  5. //
  6. //    Version:    System 7.1 for ETO #11
  7. //    Created:    Tuesday, March 30, 1993 18:00
  8. //
  9. //___________________________________________________________________________
  10.  
  11. #ifndef __LAPEQU__
  12. #define __LAPEQU__ 1
  13.  
  14. //
  15. // LAP Manager call codes passed in D0 (call at [ATalkHk2] + 2)
  16. //
  17. #define LRdDispatch        1                // Dispatch to protocol handler
  18. #define LWrtInsert        2                // Insert in LAPWrite hook
  19. #define LWrtRemove        3                // Remove from LAPWrite hook
  20. #define LWrtGet            4                // Get who's in LAPWrite hook
  21. #define LSetInUse        5                // Set address in use flag
  22. #define LGetSelfSend    6                // Get value of self send flag
  23. #define LAARPAttach        7                // Attach an AARP listener
  24. #define LAARPDetach        8                // Detach an AARP listener
  25. #define LGetATalkInfo    9                // Get AppleTalk info
  26. #define LGetPortInfo    10                // Get port info
  27. #define LOpenADEV        11                // Open ADEV file
  28. #define LNSetInUse        12                // Port-based set-in-use call
  29. #define LGetBridgeInfo    13                // Get bridge info
  30. #define LSetATalkInfo    14                // Set AppleTalk info
  31. #define LShutdownBridge    15                // Shut down bridge
  32. #define LInit            16                // init run time LAP manager
  33. #define LUsePortB        17                // rest use of printer port
  34. #define LFreePortB        18                // grant use of printer port
  35. #define LStatPortB        19                // obtain current printer port status
  36. #define LNetAlert        20                // notify user of network alert condition
  37. #define L802Attach        21                // attach an 802.2 protocol handler
  38. #define L802Detach        22                // detach an 802.2 protocol handler
  39. #define LAddAEQ            23                // add AppleTalk event queue entry
  40. #define LRmvAEQ            24                // remove AppleTalk event queue entry
  41. #define LGetAEQ            25                // get pointer to AppleTalk event queue
  42. #define LLastCall        LGetAEQ            // Last valid call
  43.  
  44. //
  45. // Flag bits passed in D1 on LWrtInsert
  46. //
  47. #define LWSelfSend        7                // ADEV handles self send
  48. #define LWSrvrWks        5                // Honor server/wks bit
  49. #define LWVMdefer        4                // buffer and defer incoming packets
  50. #define LWReserved        0                // Reserved for internal use
  51.  
  52. //
  53. // atlk call codes passed in D0 (call at atlk start plus 2)
  54. //
  55. #define AInstall        1                // Installation
  56. #define AShutdown        2                // Shutdown
  57. #define AGetInfo        3                // Get link information
  58. #define AGetMCast        4                // Get multicast addr
  59. #define ASetMCast        5                // Set multicast addr
  60. #define ADelMCast        6                // Delete multicast addr
  61. #define AOpen            7                // Open an ATlk
  62. #define AClose            8                // Close an ATlk
  63. #define AEnq            9                // send ENQ's for a node address
  64. #define ADelAddr        10                // remove an established node address
  65.  
  66. //
  67. // ADEV call code passed in D0 (call at ADEV start)
  68. //
  69. #define GetADEV            101                // Get next ADEV
  70. #define SelectADEV        102                // Select ADEV
  71. #define ReSelADEV        103                // Re-selected ADEV
  72.  
  73. #define LAPMgrPtr        0xB18            // This points to our start (???ATalkHk2?)
  74. #define LAPMgrCall        2                // Offset to make LAP manager calls
  75. #define atlkCall        2                // Offset to make atlk calls at
  76.  
  77. //
  78. // Resource IDs
  79. //
  80. #define adevBaseID        -4032            // Base resource ID for ADEVs
  81.  
  82. //
  83. // atlk AGetInfo call
  84. //
  85. typedef struct                                // (big enough to handle 6 byte link addr)
  86.     {
  87.     unsigned short Version;                    // version number
  88.     unsigned short InfoLength;                // length of this rec
  89.     unsigned long  LinkSpeed;                // speed of link in bits/second
  90.     unsigned char  BandWidth;                // bandwidth factor
  91.     unsigned char  Reserved[3];
  92.     unsigned char  Flags;                    // informative flags (see below)
  93.     unsigned char  LinkAdrLen;                // link address length in bytes
  94.     unsigned char  LinkAddress[6];            // start of link address (reserve 6 bytes)
  95.     unsigned short MaxNodes;                // max. number of nodes (base zero)
  96.     } ATlkInfo;                                // link information
  97.  
  98. #define AInfoVers    3                        // version number describes reply buffer below
  99. #define AInfoSz        sizeof(ATlkInfo)        // size in bytes of reply buffer
  100.  
  101. //
  102. // atlk AGetInfo flags
  103. //
  104. #define AtlkExtended    7                        // bit in on if link has extended addressing
  105. #define AtlkROnly        6                        // true if link is for router only ports
  106.  
  107. //    Transition Queue Structures defined in LAPEqu.a are in AppleTalk.h
  108.  
  109. #endif
  110.